package com.shixianjun.leetcode;

public class _9_回文数 {
    /**
     * 给你一个整数 x ，如果 x 是一个回文整数，返回 true ；否则，返回 false 。
     *
     * 回文数是指正序（从左向右）和倒序（从右向左）读都是一样的整数。
     *
     * 例如，121 是回文，而 123 不是。
     * */
    static public boolean isPalindrome(int x) {

        /**
         * 如果为负数，不符合
         * 如果个位数为0 只有x为0时符合
         * */
        if (x < 0 || (x % 10 == 0 && x != 0)) {
            return false;
        }

        int rNumber = 0;
        while (x > rNumber) {
            rNumber = rNumber * 10 + x % 10;
            x /= 10;
        }


        /**
         * 如果x位数为偶数 则x和rNumber相等
         * 如果x位数为奇数，则rNumber比x多一位
         * */
        return rNumber == x || rNumber / 10 == x;
    }

    public static void main(String[] args) {
        System.out.print(isPalindrome(123321));
    }
}
